﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FluentNHibernate.Mapping;
using Entidades;
using Persistencia.Mappings.Extensions;

namespace Persistencia.Mappings
{
    /// <summary>
    /// Mapeo para la clase Usuario
    /// </summary>
    public class UsuarioMap : ClassMap<Usuario>
    {
        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public UsuarioMap()
        {
            Table("USUARIO");
            
            this.DefaultMap();

            Map(x => x.NombreUsuario).Column("NombreUsuario");
            Map(x => x.Password).Column("Password");
            Map(x => x.Nombre).Column("Nombre");
            Map(x => x.Apellido).Column("Apellido");
            Map(x => x.Email).Column("Email");
            Map(x => x.Telefono).Column("Telefono");
            Map(x => x.Celular).Column("Celular");
            Map(x => x.NroDocumento).Column("NroDocumento");
            Map(x => x.CUIT).Column("CUIT");
            Map(x => x.Banco).Column("Banco");
            Map(x => x.Foto).Column("Foto").CustomType("BinaryBlob").Length(int.MaxValue).Nullable().LazyLoad();
            References(x => x.Tipo).Column("Id_Tipo");
            References(x => x.Categoria).Column("Id_Categoria");
            References(x => x.TipoDocumento).Column("Id_TipoDocumento");
            Map(x => x.NroMatricula).Column("NroMatricula");
        }
    }
}
